#ifndef ALTACUENTACORRIENTE_H
#define ALTACUENTACORRIENTE_H

#include <QWidget>
#include <QDate>
#include <QString>
#include <QDebug>
#include <QSqlDatabase>
#include <QSqlTableModel>
#include <QSqlRelationalTableModel>
#include <QMessageBox>
#include <QSqlRecord>
#include <QSqlField>
#include <QSqlQuery>
#include <QSqlError>
#include <QTableView>
#include <QIcon>
#include <QHeaderView>
#include <QList>
#include <QKeyEvent>
#include <QKeySequence>
#include <QShortcut>

namespace Ui {
class AltaCuentaCorriente;
}

class AltaCuentaCorriente : public QWidget
{
    Q_OBJECT

public:
    explicit AltaCuentaCorriente(QWidget *parent = 0);
    ~AltaCuentaCorriente();

    void CargarConceptos();

private slots:
    void on_guardarBtn_clicked();
    void on_bonif_enero_clicked();
    void on_bonif_febrero_clicked();
    void on_bonif_marzo_clicked();
    void on_bonif_abril_clicked();
    void on_bonif_mayo_clicked();
    void on_bonif_junio_clicked();
    void on_bonif_julio_clicked();
    void on_bonif_agosto_clicked();
    void on_bonif_septiembre_clicked();
    void on_bonif_octubre_clicked();
    void on_bonif_noviembre_clicked();
    void on_bonif_diciembre_clicked();
    void on_tipo_cobro_currentIndexChanged(int index);

private:
    Ui::AltaCuentaCorriente *ui;
    QSqlTableModel* const cc_model;
    QSqlTableModel *cobro_mensual_model;

    void UpdateClientList();
    void UpdateCCView();
    void RefreshCCView();
    void CleanCCList();

    bool paga_en_cuotas;
    void calcularPagoCuotas(double monto, int cant_cuot, int mes, int anio);
    void ControlVencimientos();
};

#endif // ALTACUENTACORRIENTE_H
